package decorator.coffeebar.decorator;

import decorator.coffeebar.AbstractDrink;

/**
 * @author: zhouyang
 * @descrpition: 装饰者 也是一种抽象饮品
 * @time: 2019-05-24 17:13
 */
public class Decorator extends AbstractDrink {
    private AbstractDrink abstractDrink;//是一种饮品

    public Decorator(AbstractDrink abstractDrink){
        this.abstractDrink = abstractDrink;
    }

    //返回自己的实现类的价格 和 包装类的价格
    @Override
    public float cost() {
        return super.getPrice()+abstractDrink.cost();
    }

    //返回自己的描述 和 包装类的描述
    @Override
    public String getDescription() {
        return super.description + "-" +super.getPrice() + " && " + abstractDrink.getDescription();
    }
}
